package service

import (
	"context"
	"gitee.com/CrazyMage/lite-note/internal/controller/http/v1/request"
	"gitee.com/CrazyMage/lite-note/internal/controller/http/v1/response"
)

type (
	User interface {
		Register(ctx context.Context, req *request.ServiceRegisterReq) error
		Login(ctx context.Context, req *request.ServiceLoginReq) (resp response.ServiceLoginResp, err error)
	}

	Note interface {
		// CreateNote 创建笔记
		CreateNote(context context.Context, req *request.ServiceCreateNoteReq) (resp response.ServiceCreateNoteResp, err error)
		// ListNode 分页查询笔记
		ListNode(context context.Context, req *request.ServiceListNodeReq) (resp response.ServiceListNodeResp, err error)
		// ShowNote 展示笔记详情
		ShowNote(context context.Context, req *request.ServiceShowNoteReq) (resp response.ServiceShowNoteResp, err error)
		// DeleteNote 删除笔记
		DeleteNote(context context.Context, req *request.ServiceDeleteNoteReq) (resp response.ServiceDeleteNoteResp, err error)
		// UpdateNote 更新笔记
		UpdateNote(context context.Context, req *request.ServiceUpdateNoteReq) (resp response.ServiceUpdateNoteResp, err error)
		// SearchNote 搜索笔记
		SearchNote(context context.Context, req *request.ServiceSearchNoteReq) (resp response.ServiceSearchNoteResp, err error)
	}
)
